// 因为 Promise.prototype.then 和 Promise.prototype.catch 方法返回的是 promise，所以它们可以被链式调用。

const p1 = new Promise((res, rej) => {
    // 1.catch方法会捕获reject和throw的Error
    // rej('调用catch')
    // throw new Error('抛出异常')

    // 2.catch方法会捕获第一次的异常，如果没有则依次捕获后面的异常
    // rej('第一次抛出异常')
    res('第一次没有抛出异常')

})

p1.then(res => {
    console.log(res);
    return Promise.reject('第二次抛出异常')
}).catch(err => {
    console.log(err);
})